package com.lingnan.tijian.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lingnan.tijian.common.annotation.Excel;
import com.lingnan.tijian.common.core.domain.BaseEntity;

/**
 * 用户对象 user
 * 
 * @author laoda
 * @date 2025-01-03
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户编号（手机号码） */
    private String userId;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 用户性别（1：男；0女） */
    @Excel(name = "用户性别", readConverterExp = "1=：男；0女")
    private Long sex;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String identityCard;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 用户类型（1：普通用户；2：东软内部员工；3：其他） */
    @Excel(name = "用户类型", readConverterExp = "1=：普通用户；2：东软内部员工；3：其他")
    private Long userType;

    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setRealName(String realName) 
    {
        this.realName = realName;
    }

    public String getRealName() 
    {
        return realName;
    }
    public void setSex(Long sex) 
    {
        this.sex = sex;
    }

    public Long getSex() 
    {
        return sex;
    }
    public void setIdentityCard(String identityCard) 
    {
        this.identityCard = identityCard;
    }

    public String getIdentityCard() 
    {
        return identityCard;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setUserType(Long userType) 
    {
        this.userType = userType;
    }

    public Long getUserType() 
    {
        return userType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("password", getPassword())
            .append("realName", getRealName())
            .append("sex", getSex())
            .append("identityCard", getIdentityCard())
            .append("birthday", getBirthday())
            .append("userType", getUserType())
            .toString();
    }
}
